/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.agi.util.geradordados;

/**
 *
 * @author Renato
 */
public class GeradorSenoidal implements GeradorDados {
    protected int tamanho;
    protected double frequencia;
    public  GeradorSenoidal(int tamanho){
        this.tamanho=tamanho;
        frequencia=1;
    }            

    @Override
    public double[] createData() {
        double[] data;
        data=new double[tamanho];
            for(int i=0;i<tamanho;i++){
            data[i]=Math.sin(i*Math.PI/(tamanho/(frequencia*2)))*100.0 + valorAdicional(i);
        }     
        return data;
    }
    
    public void setFrequencia(double frequencia){
        if(frequencia==0){
            throw new RuntimeException("Zero is not allowed");
        }
        this.frequencia=frequencia;
    }
    
    public double valorAdicional(int i){
        return 0;
    }
}
